package com.edu.base.ums.member.service;

import com.edu.base.ums.member.domain.ClsMember;
import com.ruoyi.common.core.domain.AjaxResult;

import java.util.List;
import java.util.Map;
import java.util.TimerTask;

/**
 * 会员
Service接口
 * 
 * @author lzs
 * @date 2021-05-24
 */
public interface IClsMemberService 
{
    /**
     * 查询会员

     * 
     * @param id 会员
ID
     * @return 会员

     */
    public ClsMember selectClsMemberById(String id);

    /**
     * 查询会员
列表
     * 
     * @param clsMember 会员

     * @return 会员
集合
     */
    public List<ClsMember> selectClsMemberList(ClsMember clsMember);

    /**
     * 新增会员

     * 
     * @param clsMember 会员

     * @return 结果
     */
    public int insertClsMember(ClsMember clsMember);

    /**
     * 更新会员积分
     * @param inviteCode
     * @return
     */
    public TimerTask udateMemberScore(String newMembrId,String phone,String inviteCode);

    /**
     * 修改会员

     * 
     * @param clsMember 会员

     * @return 结果
     */
    public int updateClsMember(ClsMember clsMember);

    /**
     * 批量删除会员

     * 
     * @param ids 需要删除的会员
ID
     * @return 结果
     */
    public int deleteClsMemberByIds(String[] ids);

    /**
     * 删除会员
信息
     * 
     * @param id 会员
ID
     * @return 结果
     */
    public int deleteClsMemberById(String id);

    /**
     *  根据手机号码查询会员是否存在
     * @param  phone
     * @return 会员 
     */
	List<ClsMember> selectClsMemberByPhone(String phone);
	 /**
     * 判断登录名是否存在
     */
	List<ClsMember> selectClsMemberByUserName(String username);

	public int changeClsMemberStatus(ClsMember clsMember);

	public ClsMember checkThirdPartyBindingUser(String thirdType, String thirdPartyId);

	public Map<String, Object> bindingLoginSetToken(ClsMember user);

	public ClsMember userBindingThirdParty(String thirdPartyId, String phone, String thirdType, String password,
			String nickName, String icon);

	public ClsMember insertClsMemberRyByPHone(String phone);

	public AjaxResult weChatLogin(String code);

	public AjaxResult qqLogin(String code, String state); 
	
	public AjaxResult wbLogin(String error_code, String code, String state);

	public void applyMemberShip(ClsMember clsMember, Integer memberMonth);

 }
